package com.zretc.dao;

import java.util.List;
import java.util.Map;

import com.zretc.entity.CollectionInfo;
import com.zretc.entity.CommentInfo;
import com.zretc.entity.CommentRelation;
import com.zretc.entity.UserInfo;


public interface UserDao {

	/**
	 * 添加用户
	 * @param userInfo
	 * @return
	 */
	public int insertUserInfo(UserInfo userInfo);
	
	/**
	 * 根据用户名查询用户
	 * @param userName
	 * @return
	 */
	public UserInfo findUserInfoByName(String userName);
	
	/**
	 * @author qiaozhiyu
	 * 根据用户名和密码查询用户-用于登录
	 * @param userName
	 * @param userPassword
	 * @return
	 */
	public UserInfo findUserInfoByNameAndPwd(String userName,String userPassword);
	
	/**
	 * 将该房源添加到收藏夹
	 * @author liumeiqi777
	 * @param collection
	 * @return 返回影响行数
	 */
     int insertCollectionInfo(CollectionInfo collectionInfo);
     /**
      * 删除收藏夹中的房源信息
      * @author liumeiqi777
      * @param collectionInfo
      * @return
      */
     int deleteCollectionInfo(CollectionInfo collectionInfo);
     /**
      * 获取收藏夹中指定用户的所有收藏Id
      * @author liumeiqi777
      * @param userId
      * @return 收藏编号列表
      */
     List<String> listCollectionIds(Integer userId);
     /**
      * 为指定订单添加一条评论
      * @author liumeiqi777
      * @param commentInfo
      * @return
      */
     int insertCommentInfo(CommentInfo commentInfo);
     /**
      * 为指定评论添加一条回复关系
      * @author liumeiqi777
      * @param commentRelation
      * @return
      */
     int insertCommentRelation(CommentRelation commentRelation);
     /**
      * 为指定评论添加一条回复内容
      * @author liumeiqi777
      * @param commentInfo
      * @return
      */
     int insertCommentReply(CommentInfo commentInfo);
     /**
      * 查询指定民宿的评论
      * @author liumeiqi777
      * @param roomId
      * @return
      */
     List<Map<String, String>> listCommentInfos(String roomId); 
     /**
      * 查询指定评论的子评论
      * @author liumeiqi777
      * @param parentId
      * @return
      */
     List<Map<String, String>> listCommentInfoChildrens(String parentId);
     
     /**
      * 修改用户的密码,根据用户的编号
      * @author 赵懒洋
      * @param userNo
      * @param password
      * @return 影响行数
      */
     int updateUserPassword(String userNo, String password);
 }
